var xmlHttpRequest;

function createXMLHttpRequest() {
    if (window.XMLHttpRequest) { // 非IE浏览器
        xmlHttpRequest = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE6及以上版本的IE浏览器
        xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } else { // IE6及以下版本IE浏览器
        xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
}

function usernameIsExist() {
    var username = document.getElementById('username').value;

    // 清空错误信息
    document.getElementById('isExistInfo1').innerHTML = "";

    if (username === "") {
        document.getElementById('isExistInfo1').innerHTML = "a";
        return; // 如果用户名为空，直接返回
    }

    sendRequest("usernameIsExist?username=" + encodeURIComponent(username));
}

function sendRequest(url) {
    createXMLHttpRequest();
    xmlHttpRequest.open("GET", url, true);
    xmlHttpRequest.onreadystatechange = processResponse;
    xmlHttpRequest.send(null);
}

function processResponse() {
    if (xmlHttpRequest.readyState == 4) {
        var div1 = document.getElementById('usernameMsg');
        var msgDiv = document.getElementById('isExistInfo1');
        if (xmlHttpRequest.status == 200) {
            var responseInfo = xmlHttpRequest.responseText;
            if (responseInfo == 'Exist') {
                div1.innerHTML = "<font color='red'>用户名不可用</font>";
                msgDiv.innerHTML = "该用户名已被使用"; // 增加错误信息
                msgDiv.classList.add('errormsg');
                div1.style.display = 'block';
            } else {
                div1.innerHTML = "<font color='green'>用户名可用</font>";
                msgDiv.innerHTML = "";
                msgDiv.classList.remove('errormsg');
                div1.style.display = 'block';
            }
        }
    }
}

// 验证密码不能为空，并检查强度
function validatePassword() {
    var password = document.getElementsByName('password')[0].value;
    var passwordErrorDiv = document.getElementById('passwordError');

    passwordErrorDiv.innerHTML = ""; // 清空现有的错误信息

    if (password === "") {
        passwordErrorDiv.innerHTML = "密码不能为空";
        return false;
    }

    // 检查密码是否包含字母（至少一个字母和一个数字，简单示例）
    var regex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,}$/; // 至少6位，包含字母和数字
    if (!regex.test(password)) {
        passwordErrorDiv.innerHTML = "密码必须至少包含6位，且含有字母和数字";
        return false;
    }

    return true; // 验证通过
}

// 提交表单前进行最终验证
function validateForm() {
    return usernameIsExist() && validatePassword();
}

// 替换表单的onsubmit事件
document.querySelector('form').onsubmit = function() {
    return validateForm(); // 提交表单前进行验证
}

function show() {
    var show_part = document.querySelector('.Information');
    if (show_part.style.display == 'block') {
        show_part.style.display = 'none';
    } else {
        show_part.style.display = 'block';
    }
}